/* static/style/agrupamento.css */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
    /* user-select: none; */
}

/* =========================
    Footer fixo (Ryze) + layout
   ========================= */

:root{
  --footer-h: 56px;   /* ajuste se teu footer for mais alto */
  --topbar-h: 8vh;    /* teu top-navbar */
}

/* body: mantém teu layout base e reserva espaço pro footer fixo */
html, body { height: 100%; }

body{
    min-height: 100vh;
    margin: 0;
    width: 100%;
    display: flex;
    flex-direction: column;

    background-color: var(--home-section-bg);

    overflow-x: hidden;
    overflow-y: auto;

    padding-bottom: var(--footer-h); /* ✅ reserva espaço pro footer fixo */
}

/* footer sempre visível e “acima” do conteúdo */
.footer-ryze{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: var(--footer-h);
    z-index: 2000;
    background: #fff;
    border-top: 1px solid #e5e7eb;
}


.container {
    width: 100%;
    height: 100%;
    padding: 20px;
    background-color: var(--container-bg);
    border-radius: 10px;
    box-shadow: 0px 2px 2px var(--container-shadow);
    /* min-height: 550px; */
}

#loader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--container-bg);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.loader {
    border: 6px solid var(--loader-bg);
    border-top: 6px solid var(--loader-bg-hover);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 1s linear infinite;
    margin-bottom: 10px;
}

.loader-text {
    font-size: 18px;
    font-weight: bold;
    color: var(--loader-font);
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


.sub-container {
    padding: 20px;
    background-color: var(--subcontainer-bg);
}

.header-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 5vh;
}

.header-container h3 {
    margin: 0;
}

h3 {
    text-align: center;
    margin-bottom: 1vw;
    font-size: 20px;
    font-weight: 500;
    font-family: 'Roboto';
}

.grid {
    margin-top: 1vw;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

legend {
    text-align: center;
    font-weight: bolder;
    font-size: 19px;
    color: var(--notification-font);
}

.div-input {
    padding: 0.5vw;
}

/* label{
    font-weight: 500;
    font-size: 16px;
    display: block;
    margin-bottom: 5px;
    color: #000;
    font-family: 'Quattrocento Sans';
} */
/* .div-input label {
    margin-right: 10px;
    margin-bottom: 0;
} */
.label-text-above-input {
    font-size: 14px;
    line-height: 2;
    margin: 0;
    padding: 0;
    display: inline-block;
    font-weight: 500;
    /* color: #37414A; */
    /* color: #158d9b; */
    color: var(--input-label);
    font-family: 'Roboto';
}

.label-checkbox {
    margin-bottom: 0;
}

.div-options-form fieldset label {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 400;
    color: var(--notification-font);
    font-family: 'Roboto';
}

#crcdisplay {
    display: none;
}


/* ============================ INPUTS - INICIO =================================*/

input[type="text"],
input[type="date"],
input[type="datetime-local"],
/* input[type="email"], */
input[type="tel"],
input[type="number"],
/* input[type="password"], */
textarea,
select {
    width: 100%;
    padding: 6px;
    box-sizing: border-box;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    font-size: 14px;
    height: 5vh;
}

input[type="text"]:focus,
input[type="date"]:focus,
input[type="datetime-local"]:focus,
/* input[type="email"]:focus, */
input[type="tel"]:focus,
input[type="number"]:focus,
/* input[type="password"]:focus, */
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--input-border-hover);
    box-shadow: 0 0 12px var(--input-border-shadow);
}

input[type="text"]:hover,
input[type="date"]:hover,
input[type="datetime-local"]:hover,
/* input[type="email"]:hover, */
input[type="tel"]:hover,
input[type="number"]:hover,
/* input[type="password"]:hover, */
textarea:hover,
select:hover {
    border: 1px solid var(--input-border-hover);
}

input:disabled,
select:disabled,
textarea:disabled {
    background-color: var(--input-disabled);
    color: var(--input-disabled-font);
    border: 1px solid var(--input-disabled-border);
    cursor: not-allowed;
    opacity: 0.6;
}

input:hover:disabled,
select:hover:disabled,
textarea:hover:disabled {
    border: 1px solid var(--input-disabled-border);
}

textarea {
    height: auto;
}

input[type="radio"] {
    margin-right: 2px;
}

label input[type="radio"] {
    margin-left: 10px;
}

input[type="file"] {
    display: none;
}

textarea {
    resize: none;
}

/* Esconde o checkbox padrão */
input[type="checkbox"] {
    appearance: none;
    /* Remove o estilo padrão */
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--checkbox-border);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    transition: 0.2s, border-color 0.2s;
    outline: none;
}

/* Estilo ao passar o mouse (hover) */
input[type="checkbox"]:hover {
    border-color: var(--checkbox-border-hover);
    /* Muda a cor da borda */
}

/* Estilo quando o checkbox está marcado */
input[type="checkbox"]:checked {
    background-color: var(--checkbox-checked-bg);
}

/* Adiciona o ícone de marcação no checkbox */
input[type="checkbox"]:checked::after {
    content: "✔";
    /* Ícone de check */
    color: white;
    font-size: 12px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    /* Ocupa a largura total do checkbox */
    height: 100%;
    /* Ocupa a altura total do checkbox */
    display: grid;
    place-items: center;
    /* Centraliza o ícone dentro do ::after */
}

input[type="checkbox"]:checked:hover {
    background-color: var(--checkbox-checked-bg-hover);
}

input[type="checkbox"] {
    margin-right: 3px;
    background-color: var(--checkbox-bg);
}


/* Remove o estilo padrão do radio */
input[type="radio"] {
    appearance: none;
    /* Remove o estilo padrão */
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid var(--radio-border);
    border-radius: 50%;
    /* Torna o radio circular */
    cursor: pointer;
    position: relative;
    transition: 0.2s;
    outline: none;
}

input[type="radio"]:hover {
    border-color: var(--radio-border);
    /* Muda a cor da borda */
}

/* Estilo quando o radio está marcado */
input[type="radio"]:checked {
    background-color: var(--radio-checked-bg);
}

/* Adiciona o ícone de marcação no radio */
input[type="radio"]:checked::after {
    content: "";
    /* Círculo interno */
    position: absolute;
    top: 50%;
    /* Centraliza verticalmente */
    left: 50%;
    /* Centraliza horizontalmente */
    width: 10px;
    /* Tamanho do círculo interno */
    height: 10px;
    /* Tamanho do círculo interno */
    background-color: var(--checkbox-checked-bg);
    /* Cor do círculo interno */
    border-radius: 50%;
    /* Mantém o círculo */
    transform: translate(-50%, -50%);
    /* Centraliza o círculo interno */
}

/* Efeito hover no círculo interno */
input[type="radio"]:hover::after {
    background-color: var(--radio-checked-after-bg);
    /* Muda a cor do círculo interno ao passar o mouse */
}

.check-with-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--checkbox-border)
}

/* Remove margens indesejadas do label */
.check-with-label .label-text-above-input {
    margin: 0;
    line-height: 1;
    /* garante que fique centralizado no eixo vertical */
}



.form-group {
    padding: 0.5vw;
    justify-items: center;
}

.form-group-padding-0 {
    padding-right: 0.5vw;
    justify-items: center;
}

.padding-left-5 {
    padding-left: 0.5vw;
}


.form-group-padding-right-0 {
    padding-right: 0vw;
    justify-items: center;
}



/* ============================ INPUTS - FIM =================================*/

.div-label-ativo {
    display: flex;
    flex-basis: 100%;
    padding: .5vw .5vw 0 .5vw;
    gap: 1vw;
    align-items: center;
}

.div-label-ativo .label-ativo {
    display: flex;
    align-items: flex-end;
    font-size: 16px;
    gap: 5px;
    margin: 0;
    font-weight: bold;
    cursor: pointer;
    font-weight: 400;
}


.div-labels-checkbox {
    display: flex;
    flex-basis: 100%;
    padding: .5vw;
    gap: 1vw;

    & label {
        display: flex;
        align-items: center;
        font-size: 16px;
        gap: 5px;
        margin: 0;
        font-weight: bold;
        cursor: pointer;
    }
}

.documentos {
    display: flex;
    flex-basis: 100%;
    flex-direction: column;
    text-align: center;
    align-content: center;
    justify-content: center;
}

.fieldset-sexo,
.fieldset-logo-revend,
.fieldset-usuario-foto,
.fieldset-usuario-configs-add {
    width: 100%;
    text-align: center;
    align-self: center;
    align-content: center;
    padding: 0;
}

.fieldset-usuario-foto,
.fieldset-usuario-configs-add,
.container-itens-img {
    height: 38vh;
}

.fieldset-tipo-fornecedor,
.fieldset-pessoa-option {
    width: 100%;
    gap: 20px;
    padding: 5px;
    display: flex;
    flex-direction: row;
    text-align: center;
    align-items: center;
    justify-content: center;
}

.fieldset-pessoa-option label,
.fieldset-tipo-fornecedor label {
    cursor: pointer;
}

.div-options-form {
    display: flex;
    width: 25%;
    justify-content: center;
}

.fieldset-nova-financeira {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.fieldset-default {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

fieldset {
    border: 1px solid var(--fieldset-border);
    border-radius: 4px;
}

.fieldset-imagem {
    display: flex;
    justify-content: center;
}

.div-align-fieldset-content {
    width: 100%;
    padding: 0 .5em .5em .5em;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    & hr {
        margin: 1vw .5vw;
        width: 100%;
    }

    & .add-button {
        padding: .5vw;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
        gap: 10px;
    }
}

/* .div-align-fieldset-content .div-radio {
    padding: .5vw .7vw;
    display: flex;
    align-items: flex-end;
} */
/* 
.div-align-fieldset-content .div-radio label {
    padding-left: 3px;
    cursor: pointer;
} */

.div-align-fieldset-content .div-procurador,
.div-align-fieldset-content .div-checkbox-procurador-inicial {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.div-align-fieldset-content .div-checkbox-procurador-inicial {
    display: none;
}

.div-align-fieldset-content .div-procurador .div-btn-add-procurador {
    padding: .5vw;
    display: flex;
    align-items: flex-end;
}

.div-align-fieldset-content .div-procurador .div-checkbox-procurador-inicial {
    align-items: center;
    padding: .5vw;
}

.div-align-fieldset-content .div-impressoes {
    width: 100%;
    display: flex;
    flex-direction: row;

}

.div-align-fieldset-content .div-impressoes .div-checkbox-impressoes {
    display: flex;
    align-items: center;
    padding: .5vw;
}

.div-align-fieldset-content .div-impressoes .div-select-impressoes {
    padding: .5vw;
    display: none;
}

.div-align-fieldset-content .div-impressoes div {
    height: 7.2vh;
}

.div-default {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.div-input-tipo-financiamento {
    padding: .5vw;
    flex-basis: 100%;
}

.div-separation {
    display: flex;
}

.div-complemento-input-tipo-financiamento {
    display: flex;
    flex-basis: 100%;
    flex-wrap: wrap;
    flex-direction: row;
}

.div-sexo-borda {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    background-color: transparent;
}

.div-sexo2,
.div-config {
    display: flex;
    align-items: center;
    padding: 0.5vw 0.3vw 0.5vw 0.3vw;
    cursor: pointer;
    gap: 2px;
}

.div-sexo2 label {
    font-size: 14px;
    margin-right: 0;
    cursor: pointer;
}

.div-sexo2 input[type="radio"] {
    height: 16px;
    width: 16px;
    cursor: pointer;
}

.div-sexo2 input[type="radio"]:checked::after {
    width: 8px;
    height: 8px;
}

.div-tipo-fornecedor {
    display: flex;
    margin-bottom: 0.5vw;
    justify-content: center;
    padding: 0;
}

.tamanho-total {
    flex-basis: 100%;
}

.flex {
    display: flex;
}

.direcao-coluna {
    flex-direction: column;
}

.direcao-linha {
    flex-direction: row;
    align-content: center;
}

.center {
    align-items: center;
}

.flex-grow {
    flex-grow: 1;
}

.posicao-relativa {
    position: relative;
}

.flex-container {
    display: flex;
    align-items: center;
    /* Alinha verticalmente no centro */
    position: relative;
}

/* span {
    font-weight: bold;
} */
.padding-default {
    padding: 0.5vw;
}

.div-opcoes {
    align-content: center;
}

.button-remove-img {
    display: none;
}

.div-buttons-img {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-basis: 50%;
    padding: .5vw;

    & .buttons-img {
        width: 70%;
    }
}

.container-itens-img {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.opcoes-imagem {
    background-color: var(--btn-gray-bg);
    border-radius: 5px;
    color: var(--btn-font);
    cursor: pointer;
    margin: 5px;
    padding: 6px 20px;
    text-align: center;
    display: block;
}

.opcoes-imagem:hover {
    background-color: var(--btn-gray-bg-hover);
}

#remover-imagem {
    background-color: var(--btn-red-bg);
}

#remover-imagem:hover {
    background-color: var(--btn-red-hover);
}

.div-preview-img {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.div-preview-logo {
    flex-basis: 50%;
    width: 100%;
    height: 100%;
    padding: .5vw;
    display: flex;
    justify-content: center;

    & .preview-logo {
        border: 1px solid var(--input-border);
        height: 100%;
        width: 90%;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

}

.preview-imagem {
    /* border: 1px solid #000;  COMENTADO POR LUCAS FUCHS (08/01/2025) */
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 10px;
    justify-content: center;
    cursor: pointer;
}

.checkbox-config-div {
    margin-right: 5px;
}

.div-config label {
    font-weight: 500;
}

.gap {
    gap: 15px;
}


.span-padrao {
    color: var(--span-padrao);
    margin-right: 10px;
    font-size: 16px;
}

.span-vermelho {
    color: var(--span-vermelho);
    margin-right: 10px;
    font-size: 16px;
}

.resumo,
.desconto {
    padding: 0.2vw;
    display: flex;
    justify-content: space-between;
}

.desconto {
    justify-content: end;
}

.fieldset-border {
    border: none;
}

hr {
    margin-top: 0.5vw;
    margin-bottom: 0.5vw;
}

.alinhamento-valores {
    width: 40%;
    display: flex;
    justify-content: space-between
}

.div-checkbox {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.alinhando-checkbox {
    display: flex;
    align-items: center;
}

.alinhando-checkbox label {
    margin: 0;
    margin-left: 1%;
}

.parcelas-switch {
    width: 15%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.switch input {
    display: none;
}

.switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 23px;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--slider-bg);
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 15px;
    width: 15px;
    left: 4px;
    bottom: 4px;
    background-color: var(--slider-before-bg);
    transition: .4s;
    border-radius: 50%;
}

input:checked+.slider {
    background-color: var(--slider-checked-bg);
}

input:checked+.slider:before {
    transform: translateX(26px);
}

.space {
    margin-right: 0.5vw;
}

/* COMENTADO POR MOTIVO DE TABELA DE PERMISSÕES NAO ESTAR ATIVA, MANTER CSS ....
    by LUCAS FUCHS (16/06/2025).
*/
/* .table-permissoes {
    width: 100%;
    border-collapse: collapse;
    text-overflow: ellipsis;
    border-spacing: 0;
    display: table;
    overflow: hidden;
    border-bottom: 1px solid #ddd;
}
.table-permissoes th:nth-child(1), .table-permissoes td:nth-child(1){
    width: 85%;
}
.table-permissoes th:nth-child(2){
    width: 15%;
} */

/* .cabecalho-permissao, .celula-table{
    text-align: left;
    vertical-align: middle;
}
.cabecalho-permissao{
    background-color: #4A5863;
    color: #fff;
    position: sticky;
    top: -1px;
    padding: 10px;
    z-index: 1;
    border: 1px solid #4A5863;
    text-align: center;
}
.celula-table {
    background-color: #fff;
    font-family: 'Quattrocento Sans';
    border-left: 1px solid #ddd; 
    border-right: 1px solid #ddd;
    cursor: pointer;
    transition: all 0.4s ease;
} */

/* .head-text-table{
    padding-left: 50px;
    font-weight: bold;
} */
/* .categoria-filha .dropdown-btn{
    padding-left: 50px;
}
.categoria-neta .dropdown-btn{
    padding-left: 80px;
}
.categoria-bisneta .dropdown-btn,
.categoria-bisneta span{
    padding-left: 120px !important;
}
.categoria-filha span,
.categoria-neta span,
.categoria-bisneta span{
    font-weight: normal;
    font-size: 16px;
    padding: 15px;
    cursor: default;
}
.btn-dropdown-categoria:hover{
    background-color: #e1e1e1;
}
.permission-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
}
.permission-buttons button {
    padding: 4px;
    background-color: #E9EDF6;
    transition: background-color 0.3s;
    font-size: 1.6rem;
}

.permission-buttons button:hover {
    background-color: #D1D9E6;
}
.permission-buttons button.active {
    background-color: #0f3353;
    color: #fff;
}
.permission-buttons button.active:hover{
    background-color: #081b2c;
}
.dropdown-pai:after {
    content: '\25B6';
    float: right;
}
.dropdown-pai.active:after {
    content: '\25BC'; 
}*/

.dropdown-btn {
    width: 100%;
    height: 100%;
    background-color: transparent;
    border: none;
    padding: 15px;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: left;
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    box-sizing: border-box;
    display: block;
}

.table-container {
    background-color: var(--table-container-bg);
    padding: 1vw 0 1vw 0;
    display: flex;
    flex-direction: column;
}

.table-heading {
    margin-bottom: 10px;
    text-align: center;
}

.checkbox-table {
    text-align: center !important;
    padding: 5px !important;
}

.checkbox-table-style {
    background-color: var(--table-checkbox-bg);
}

.between {
    justify-content: space-between;
}

.dropdown-wrapper {
    position: relative;
    display: inline-block;
    /* Para que o botão continue em linha com outros itens */
    z-index: 1000;
    /* garante que o dropdown fique acima de quase tudo */
}

.dropdown-content-novo {
    display: none;
    /* Inicialmente oculto */
    position: absolute;
    background-color: var(--dropdown-content-bg);
    /* Cor de fundo mais clara para maior contraste */
    min-width: 160px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.5);
    /* Sombra mais suave */
    z-index: 3;
    top: calc(100%);
    /* Ajuste a posição para que não fique colado ao elemento pai */
    left: auto;
    right: 0;
    border-radius: 8px;
    /* Bordas arredondadas */
    overflow: hidden;
    /* Para ocultar conteúdos que transbordam */
    transition: opacity 0.3s ease, visibility 0.3s ease;
    /* Suaviza a transição ao aparecer */
}

.dropdown-content-novo a {
    color: var(--dropdown-content-font);
    /* Cor de texto mais escura para melhor legibilidade */
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    transition: background-color 0.2s ease;
    /* Suaviza a transição do fundo ao passar o mouse */
    font-size: 14px;
    font-weight: 400;
}

.dropdown-content-novo a:hover {
    background-color: var(--dropdown-content-font-hover);
    /* Cor de fundo do item ao passar o mouse */
}

.dropdown-content-novo a:focus {
    outline: none;
    /* Remove o contorno padrão do foco */
    background-color: var(--dropdown-content-font-hover);
    /* Mantenha a cor de fundo ao focar */
}

.dropdown-content-novo.show {
    display: block;
    /* Mostra o dropdown quando a classe 'show' é adicionada */
}

.div-container-btn-new {
    position: relative;
    /* Define o container como ponto de referência */
}

.padding-zero {
    padding: 0px !important;
}

.padding-top-zero {
    padding-top: 0;
}

.attach-section {
    margin-top: 16px;
}

.attach-label {
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 6px;
}

.attach-control {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
}

/* input fake (pill) */
.attach-input-wrap {
    position: relative;
    flex: 1;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    padding: 8px 14px;
    background-color: #fff;
    font-size: 14px;
    color: #4b5563;
    display: flex;
    align-items: center;
    overflow: hidden;
}

/* esconde o input file real (sem afetar layout) */
.attach-input-wrap input[type="file"] {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.attach-fake-text::before {
    content: "Escolher arquivos";
    font-weight: 500;
    margin-right: 8px;
    color: #111827;
}

.attach-fake-text span {
    color: #6b7280;
}

.attach-btn-add {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    padding: 8px 14px;
    font-size: 14px;
    background: #fff;
    cursor: pointer;
    transition: background-color .15s, box-shadow .15s;
}

.attach-btn-add i {
    font-size: 16px;
}

.attach-btn-add:hover {
    background-color: #f9fafb;
    box-shadow: 0 2px 4px rgba(15, 23, 42, .06);
}

.attach-help-text {
    font-size: 12px;
    color: #9ca3af;
    margin-top: 4px;
}

/* ====== Lista de arquivos ====== */
.file-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

/* Card compacto base */
.file-item {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;

    height: auto !important;
    min-height: 0 !important;
}

.file-item .file-info {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;

    flex: 1 1 auto !important;
    min-width: 0 !important;

    /* garante que não vire um "card dentro do card" */
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.file-thumbnail {
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #e5e7eb !important;
    flex-shrink: 0 !important;
}

.file-thumbnail i {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #111827;
    /* ou outra cor que combine com o tema */
}


/* força preencher o quadrado (mesmo com CSS global de img) */
.file-thumbnail img,
.file-thumbnail .preview-imagem,
.file-thumbnail img.preview-imagem {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    display: block !important;
}

.file-meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.file-name {
    font-size: 14px;
    color: #111827;
    font-weight: 500;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.file-name a {
    color: inherit;
    /* usa a mesma cor do .file-name */
    text-decoration: none;
    /* tira o sublinhado */
    font: inherit;
    /* herda peso/tamanho */
    display: inline-block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.file-name a:hover {
    text-decoration: underline;
    /* se quiser, só sublinha no hover */
}

.file-size {
    font-size: 12px;
    color: #9ca3af;
}

/* ações sempre agrupadas à direita */
.file-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
}

/* botão de remover */
.file-remove-btn {
    border: none;
    background: transparent;
    color: #ef4444;
    cursor: pointer;
    padding: 6px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color .15s;
}

.file-remove-btn:hover {
    background: rgba(239, 68, 68, .06);
}

/* quando marcado para excluir (mantém igual seu original) */
.banner-item.is-deleted,
.file-item.is-deleted {
    opacity: .5;
    filter: grayscale(1);
}

/* ====== Mobile: quebra linha sem deixar card enorme ====== */
@media (max-width: 520px) {
    .file-item {
        flex-wrap: wrap;
    }

    .file-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* =======================================================================
   AJUSTE FINAL: mesmo layout para BANNERS e EMPRESA
   (banner já estava certo; reaplicamos o mesmo para empresa)
   ======================================================================= */

/* card em linha e baixinho */
.attach-section[data-upload="banners"] .file-item,
.attach-section[data-upload="empresa"] .file-item {
    width: 100%;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    padding: 8px 12px !important;

    height: auto !important;
    min-height: 56px !important;
    max-height: 72px !important;
    overflow: hidden !important;
}

/* bloco de info (nome + tamanho) */
.attach-section[data-upload="banners"] .file-meta,
.attach-section[data-upload="empresa"] .file-meta {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

/* texto */
.attach-section[data-upload="banners"] .file-name,
.attach-section[data-upload="empresa"] .file-name {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #111827 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
}

.attach-section[data-upload="banners"] .file-size,
.attach-section[data-upload="empresa"] .file-size {
    font-size: 12px !important;
    color: #9ca3af !important;
}

/* layout interno */
.attach-section[data-upload="banners"] .file-info,
.attach-section[data-upload="empresa"] .file-info {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.attach-section[data-upload="banners"] .file-actions,
.attach-section[data-upload="empresa"] .file-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
}

/* thumb igual pros dois */
.attach-section[data-upload="banners"] .file-thumbnail,
.attach-section[data-upload="empresa"] .file-thumbnail {
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #e5e7eb !important;
    flex-shrink: 0 !important;
}

.attach-section[data-upload="banners"] .file-thumbnail img.preview-imagem,
.attach-section[data-upload="empresa"] .file-thumbnail img.preview-imagem {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* =======================================================================
   EXTRAS SÓ PARA BANNERS (Ordem + Exibir)
   ======================================================================= */

.banner-extra {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 0 !important;
    /* importante: evita criar “vazio” */
}

/* deixa Ordem + input bem compacto (sem aumentar altura do card) */
.banner-order {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px;
    color: #6b7280;
}

.banner-order-label {
    margin: 0 !important;
    line-height: 1 !important;
}

.banner-order-input {
    width: 76px !important;
    height: 34px !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
    border: 1px solid #e5e7eb !important;
    font-size: 13px !important;
    line-height: 1 !important;
    background: #fff !important;
}

.banner-active input[type="checkbox"] {
    width: 14px;
    height: 14px;
}

.attach-section .file-list {
    padding: 0 8px;
}

.attach-section .file-item {
    margin: 0;
}

.file-item[data-type="pdf"] .file-thumbnail i {
    color: #ef4444;
}

/* WORD = azul */
.file-item[data-type="word"] .file-thumbnail i {
    color: #2563eb;
}

/* EXCEL = verde */
.file-item[data-type="excel"] .file-thumbnail i {
    color: #16a34a;
}

/* IMAGEM (quando não tem thumb real, só ícone) = azul claro */
.file-item[data-type="image"] .file-thumbnail i {
    color: #0ea5e9;
}

/* DEFAULT (zip, rar, etc.) = amarelo/dourado */
.file-item[data-type="default"] .file-thumbnail i {
    color: #f59e0b;
}



/* -------------------------------------- CSS REFERENTE A CONFIGURAÇÃO DE MODAIS -----------------------------------*/

.modalContainer {
    display: none;
    /* Escondido por padrão */
    position: fixed;
    z-index: 2;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: var(--modal-container-bg);
    justify-content: center;
    align-items: center;

}

/* The Modal (background) */
.modal-imagem {
    display: flex;
    background-color: var(--modal-imagem-bg);
    padding: 20px;
    width: 70vw;
    height: 80vh;
    animation: fadeIn 0.5s;
    position: relative;
    /* Necessário para posicionamento absoluto do botão de fechar */
    border-radius: 10px;
    justify-content: center;
    align-items: center;
}

/* Modal Content (Image) */
.modal-content-imagem {
    display: block;
    max-width: 80%;
    /* Largura máxima da imagem em relação ao modal */
    max-height: 80vh;
    /* Altura máxima em relação à altura da viewport */
    object-fit: contain;
    /* Ajusta a imagem mantendo as proporções */
}

/* Add Animation - Zoom in the Modal */
.modal-content-imagem {
    animation-name: zoom;
    animation-duration: 0.6s;
}

.close-imagem {
    position: absolute;
    top: 15px;
    right: 35px;
    color: var(--close-imagem-font);
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.close-imagem:hover,
.close:focus {
    color: #333;
    text-decoration: none;
    cursor: pointer;
}

.recuado {
    width: calc(100% - 2.5vw);
}

.recuado-37 {
    width: calc(100% - 3.7vw);
}

.top-100 {
    top: 100%
}

.top-85 {
    top: 90%;
}

.width-100 {
    width: 100%;
}

.align-btn-link {
    width: calc(100% - 3.5vw);
}

/* ---------------------------------- SUGGESTIONS ---------------------------------- */

/* ================== SUGGESTIONS (estilo Fancy Select) ================== */

.suggestions-box {
    position: absolute;
    /* left: 7; */
    right: 0;
    /* top: calc(100% + 6px); */
    width: calc(100% - 6px);;
    background: #fff;
    border: 1px solid #e8eef5;
    border-radius: 12px;
    box-shadow: 0 18px 50px rgba(2, 6, 23, .12);

    padding: 6px;
    max-height: 260px;
    overflow-y: auto;

    z-index: 2147482000;
    /* acima de inputs/modais */
    font-size: .9rem;

    display: none;
    /* controlado via JS */
}

#search-suggestions {
    max-height: 550px;
    overflow-y: auto;
}

/* item */
.suggestion {
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
    user-select: none;

    color: #0f172a;
    transition: background .12s ease, color .12s ease;
}

/* hover igual vx-option:hover */
.suggestion:hover {
    background: #f1f5f9;
    background: var(--c-primary, #06b6d4);
    color: #fff;
}

/* ativo (teclado ou mouse) */
.suggestion-active {
    background: var(--c-primary, #06b6d4);
    color: #fff;
}

/* item desabilitado (se usar) */
.suggestion.is-disabled {
    color: #94a3b8;
    cursor: not-allowed;
    background: transparent;
}

/* scroll bonito (opcional) */
.suggestions-box::-webkit-scrollbar {
    width: 8px;
}

.suggestions-box::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
}

.suggestions-box::-webkit-scrollbar-track {
    background: transparent;
}

.suggestion-empty {
    padding: 8px 10px;
    border-radius: 8px;
    color: #94a3b8;
    cursor: default;
    user-select: none;
}


/* 
.suggestions-box {
    border: 1px solid var(--suggestions-box-border);
    max-height: 200px;
    overflow-y: auto;
    position: absolute;
    background: var(--suggestions-box-bg);
    width: calc(100% - 1vw);
    z-index: 1000;
    font-size: 12px;
    left: 7;
    display: none;
}


.suggestion-active {
    background-color: var(--suggestion-active-bg);
    cursor: pointer;
}

.suggestion {
    padding: 10px;
    cursor: pointer;

}

.suggestion:hover {
    background-color: var(--suggestion-hover-bg);
} */



.opcionais-container {
    /* display: none; */
    /* flex-wrap: wrap; */
    /*gap: 20px; /* Espaço entre os itens */
    max-height: 100%;
    /* ou qualquer altura desejada */
    overflow-y: auto;
    padding: 10px;
    border: 1px solid var(--opcionais-container-border);
    /* opcional para visualização */
    background-color: var(--opcionais-container-bg);
    /* opcional para visualização */
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* 4 colunas */
    gap: 10px;
}

.opcional-item {
    /*flex: 1 1 calc(33.33% - 20px); /* Ocupa 1/3 da linha menos o espaço 
    box-sizing: border-box;
    padding: 10px;
    text-align: left;
    display: flex;
    gap: 5px;*/
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    border: 1px solid var(--opcionais-item-border);
    border-radius: 4px;
    background-color: var(--opcionais-item-bg);
}

.opcional-item label {
    display: flex;
    align-items: left;
    gap: 10px;
    /* Espaço entre o checkbox e o texto */
    justify-content: left;
}

.add-link {
    background-color: var(--add-link-bg);
    color: var(--add-link-font);
    padding: 5px;
    border-radius: 5px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    text-decoration: none;
    font-size: 1.9rem;
    display: flex;
    width: calc(5vh);
    align-items: center;
    justify-content: center;
    height: 5vh;
    cursor: pointer;
}

.input-btn-border {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.add-link:hover {
    background-color: var(--add-link-hover);
}

.input-cliente {
    border-top-right-radius: 0px !important;
    border-bottom-right-radius: 0px !important;
}

.input-with-btn {
    display: flex;
    align-items: center;
    /* Alinha verticalmente se os tamanhos forem diferentes */
}

.input-with-btn input {
    flex: 1;
    /* Faz o input ocupar todo o espaço disponível */
    margin-right: 0;
    /* Remove qualquer margem à direita (ajuste se necessário) */
}

.input-with-btn button {
    margin-left: 0;
    /* Remove margem à esquerda para que fique colado ao input */
    padding: 6px 10px;
    /* Ajuste o padding conforme necessário para o design */
}

/* .input-cliente:focus{
    border: 1px solid #ff1111;
    outline: none;
} */
.div-table {
    width: 100%;
    flex-grow: 1;
    overflow-y: auto;
    overflow-x: auto;
    max-height: 60vh;
    border-radius: 4px;
}

.styled-table thead {
    position: sticky;
    top: 0;
}

.input-container .form-group input,
.input-container .form-group select,
.input-container .form-group textarea {
    width: 100%;
    box-sizing: border-box;
    /* Inclui padding e border na largura total */
}

.input-container {
    display: flex;
    flex-wrap: wrap;
    /* Permite quebra de linha quando necessário */
    gap: 0.5rem;
    /* Espaçamento entre os grupos */
    justify-content: space-between;
    /* Distribui os elementos uniformemente */
    align-items: flex-start;
    /* Alinha os itens pelo topo (ou ajuste se preferir) */
}

.checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    /* Espaço entre o checkbox e o texto */
    cursor: pointer;
    /* Melhora a usabilidade */
}

/* Container da linha sem esticar */
.row-no-stretch {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* ########################################################## */

/* .add-contact-btn {
    display: flex;
    width: 10%;
    padding: 10px 15px;
    background-color: #22aa26;
    color: white;
    text-align: center;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
}
.add-contact-btn:hover {
    background-color: #1e9120;
} */
.button-group {
    margin-top: 10px;
    display: flex;
    gap: 10px;
}

.blue-btn {
    background-color: var(--btn-blue-bg);
    color: var(--btn-font);
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

.blue-btn:hover {
    background-color: var(--btn-blue-hover);
}

.tamanho-btn-pesquisa {
    flex: 1;
    height: auto;
    padding: 10px;
    font-size: 14px;
    cursor: pointer;
}

.file-list .file-item .remove-button {
    background-color: var(--btn-red-bg);
    color: var(--btn-font);
    border: none;
    border-radius: 5px;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 14px;
    margin-top: 5px;
    /* Adiciona espaço acima do botão */
}

.file-list .file-item .remove-button:hover {
    background-color: var(--btn-red-hover);
}

.excluir {
    width: 7%;
    height: 3vw;
    background-color: var(--btn-blue-bg);
    margin-left: 10px;
    text-align: center;
    display: flex;
}

.excluir:hover {
    background-color: var(--btn-blue-hover);
}


button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    cursor: pointer;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 600;
}


button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.btn-new-info-table {
    margin-top: 10px;
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.btn-filtro {
    background-color: var(--btn-filtro-bg);
    color: var(--btn-filtro-font)
}

.btn-filtro:hover {
    background-color: var(--btn-filtro-hover);
    /* color: rgb(120, 120, 120); */
}

.btn-expand {
    color: var(--btn-expand-font);
    background-color: var(--btn-expand-bg);
    position: absolute;
    right: 0;
    /* Alinha ao início do eixo X */
    top: 50%;
    transform: translateY(-50%);
    /* Centraliza no eixo Y */
    font-size: 20px;
}

.btn-expand:hover {
    background-color: var(--btn-expand-hover);
    font-size: 24px;
}

.btn-new-register,
.btn-busca-cep {
    background-color: var(--btn-verde-bg);
    color: var(--btn-font);
    /* transition: all .4s ease; */
}


.btn-new-register:hover:not(:disabled),
.btn-busca-cep:hover {
    background-color: var(--btn-verde-hover);
}

.btn-busca-cep {
    gap: 5px;
    padding: 6px;
    height: auto;
    max-height: 45px;
    width: auto;
    max-width: 75px;
    font-size: 20px;
    font-weight: normal;
}

.flex-basis-10 {
    flex-basis: 10%;
}

.flex-basis-12 {
    flex-basis: 12%;
}

.flex-basis-20 {
    flex-basis: 20%;
}

.flex-basis-30 {
    flex-basis: 30%;
}

.flex-basis-40 {
    flex-basis: 40%;
}

.flex-basis-50 {
    flex-basis: 50%;
}

.flex-basis-60 {
    flex-basis: 60%;
}

.flex-basis-70 {
    flex-basis: 70%;
}

.flex-basis-80 {
    flex-basis: 80%;
}

.flex-basis-90 {
    flex-basis: 90%;
}

.flex-basis-100 {
    flex-basis: 100%;
}

.flex-basis-15 {
    flex-basis: 15%;
}

.flex-basis-25 {
    flex-basis: 25%;
}

.flex-basis-35 {
    flex-basis: 35%;
}

.flex-basis-45 {
    flex-basis: 45%;
}

.flex-basis-55 {
    flex-basis: 55%;
}

.flex-basis-65 {
    flex-basis: 65%;
}

.flex-basis-75 {
    flex-basis: 75%;
}

.flex-basis-85 {
    flex-basis: 85%;
}

.flex-basis-95 {
    flex-basis: 95%;
}

.flex-basis-33 {
    flex-basis: 33.33%;
}

.flex-basis-66 {
    flex-basis: 66.66%;
}

.flex-basis-22 {
    flex-basis: 22.5%;
}

.wrap {
    flex-wrap: wrap;
}

select option {
    background-color: var(--select-option-bg);
    /* Cor de fundo das opções */
    color: black;
    /* Cor do texto */
    padding: 5px;
    /* Espaçamento interno */
    font-size: 14px;
    /* Tamanho do texto *F/
}  

#add_pendencia{
    /* background-color: #fff;
    color: #000;
    border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
     */
    height: 40px;
}

.justify-content {
    justify-content: center;
}

/* .no-overflow{
    overflow-y: hidden !important;
    overflow-x: hidden !important;
} */
.content-table {
    width: 100%;
    /* height: calc(100% - 12.5% - 1vw); */
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.content-table .div-for-table {
    height: 100%;
    overflow-y: auto;
}

.div-for-table {
    width: 100%;
    display: flex;
    flex-direction: column;
    /* max-height: 75vh; */
    /* Ajuste conforme necessário */
    overflow-y: auto;
    /* Mantém rolagem interna */
}

.div-for-table::-webkit-scrollbar {
    background: transparent;
    width: 10px;
}

/* .div-for-table::-webkit-scrollbar-thumb{
    background-color: #3F4A55;
} */

.div-for-table::-webkit-scrollbar-thumb {
    background-color: var(--scroll-bg);
    border-radius: 15px;
}

.div-table-scroll-x {
    overflow-x: auto;
    overflow-y: hidden;
    height: 100%;
    padding-bottom: 3px;
}

.div-table-scroll-x::-webkit-scrollbar {
    background: transparent;
    height: 13px;
}

.div-table-scroll-x::-webkit-scrollbar-thumb {
    background-color: var(--scroll-bg);
    border-radius: 5px;
}

.div-table-scroll-x .table-header,
.div-table-scroll-x .table-body {
    width: 100%;
}

.table-header {
    position: sticky;
    top: 0;
    z-index: 2;
    width: 100%;
}

.table-body {
    flex: 1;
}

.table-footer {
    position: sticky;
    bottom: 0;
    z-index: 2;
    width: 100%;
    display: flex;
    background-color: var(--table-footer-bg);
    border: 1px solid var(--table-footer-border);
    color: var(--table-footer-font);
    font-size: 16px;
    font-weight: bold;
}

.table-footer.footer-scroll-x {
    margin-top: 3px;
}

.footer-table-negociacao {
    justify-content: space-around;
}

.footer-table-negociacao div {
    display: flex;
    flex-direction: column;
    padding: 10px;
    flex: 1;
    text-align: center;
}

.footer-table-negociacao span {
    font-weight: bold;
    font-size: 16px;
    color: var(--table-footer-font);
}

/* Para o caso de contagens em zero, você pode adicionar um estilo opcional */
.footer-table-negociacao span:empty::after {
    content: "—";
    color: var(--table-footer-font);
}

.footer-table-contas-pagar-receber {
    justify-content: flex-end;
    gap: 1vw;
}

.footer-table-contas-pagar-receber div {
    display: flex;
    flex-direction: column;
    padding: 10px;
    text-align: center;
}

.footer-table-contas-pagar-receber #total-movimentacoes {
    color: var(--table-footer-font);
}

.footer-table-contas-pagar-receber #valor-total-pagar {
    color: var(--table-footer-font-vermelho);
}

.footer-table-contas-pagar-receber #valor-total-receber {
    color: var(--table-footer-font-azul);
}

.definitive-table {
    width: 100%;
    border-collapse: collapse;
    text-overflow: ellipsis;
    border-spacing: 0;
    display: table;
    table-layout: fixed;
    border-bottom: 1px solid var(--table-border);
}

.definitive-table th,
.definitive-table td {
    /* text-align: left; */
    padding: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.definitive-table tr th {
    background-color: var(--table-th-bg);
    color: var(--table-th-font);
    border: 1px solid var(--table-th-border);
    font-size: 14px;
    /* text-align: center;*/
    white-space: wrap;
}

.definitive-table td {
    font-size: 13px;
    background-color: var(--table-td-bg);
    font-family: 'Roboto';
    font-weight: 4.mensagem-local00;
    border-left: 1px solid var(--table-border);
    /* Linha de Coluna */
    border-right: 1px solid var(--table-border);
    /* Linha de Coluna */
    white-space: nowrap;
}

.definitive-table tbody tr td {
    cursor: pointer;
    transition: background-color 0.4s ease;
}

.definitive-table tbody tr:hover td {
    background-color: var(--table-td-hover);

}

.definitive-table tr.inativa {
    opacity: 0.5;
    color: var(--table-tr-inativa);
}

.total-value {
    font-weight: 200;
}

/* .cad_table,
.cad_table tr,
.cad_table td,
.cad_table th{
    border: none;
} */


.definitive-table tbody tr.tr-selecionada td {
    background-color: var(--table-td-hover) !important;
}


/* Definindo a largura fixa das colunas  */


.left-align,
.pendecias-veiculo-table th,
.pendecias-veiculo-table td,
.receita-despesa-table th,
.receita-despesa-table td,
.historico-reserva-table th,
.historico-reserva-table td,
.procuradores-table th,
.procuradores-table td,
.receita-despesa-conta-table th,
.receita-despesa-conta-table td,
.pendencia-negociacao-finalizacao-table th,
.pendencia-negociacao-finalizacao-table td {
    text-align: left;
    white-space: normal;
}

.center-align,
.pendecias-veiculo-table th:nth-child(4),
.pendecias-veiculo-table td:nth-child(4),
.historico-reserva-table th:nth-child(5),
.historico-reserva-table td:nth-child(5),
.receita-despesa-table th:nth-child(6),
.receita-despesa-table td:nth-child(6),
.pendencia-negociacao-finalizacao-table th:nth-child(5),
.pendencia-negociacao-finalizacao-table td:nth-child(5) {
    text-align: center;
    white-space: normal;
}

.right-align,
.receita-despesa-table th:nth-child(5),
.receita-despesa-table td:nth-child(5),
.receita-despesa-table th:nth-child(2),
.receita-despesa-table td:nth-child(2),
.pendecias-veiculo-table th:nth-child(3),
.pendecias-veiculo-table td:nth-child(3),
.historico-reserva-table th:nth-child(1),
.historico-reserva-table td:nth-child(1),
.pendencia-negociacao-finalizacao-table th:nth-child(4),
.pendencia-negociacao-finalizacao-table td:nth-child(4) {
    white-space: normal;
    text-align: right;
}

.col-5,
.receita-despesa-conta-table th:nth-child(7),
.receita-despesa-conta-table td:nth-child(7),
.cad-procurador-procuracao-table th:nth-child(3),
.cad-procurador-procuracao-table td:nth-child(3) {
    width: 5%;
}

.col-6 {
    width: 6%;
}

.col-7,
.receita-despesa-conta-table th:nth-child(6),
.receita-despesa-conta-table td:nth-child(6),
.receita-despesa-table th:nth-child(6),
.receita-despesa-table td:nth-child(6) {
    width: 7.5%;
}

.col-10,
.receita-despesa-table th:nth-child(2),
.receita-despesa-table td:nth-child(2),
.historico-reserva-table th:nth-child(1),
.historico-reserva-table td:nth-child(1),
.historico-reserva-table th:nth-child(5),
.historico-reserva-table td:nth-child(5),
.pendecias-veiculo-table th:nth-child(4),
.pendecias-veiculo-table td:nth-child(4),
.pendencia-negociacao-finalizacao-table th:nth-child(4),
.pendencia-negociacao-finalizacao-table td:nth-child(4),
.pendencia-negociacao-finalizacao-table th:nth-child(5),
.pendencia-negociacao-finalizacao-table td:nth-child(5),
.receita-despesa-conta-table th:nth-child(1),
.receita-despesa-conta-table td:nth-child(1),
.receita-despesa-conta-table th:nth-child(5),
.receita-despesa-conta-table td:nth-child(5) {
    width: 10%;
}

.col-15,
/* .dados-bancarios-table th:not(:first-child),
.dados-bancarios-table td:not(:first-child), */
/* .ref-comerciais-pessoais-table th:nth-child(2),
.ref-comerciais-pessoais-table td:nth-child(2),
.ref-comerciais-pessoais-table th:nth-child(4),
.ref-comerciais-pessoais-table td:nth-child(4), */
.pendecias-veiculo-table th:nth-child(1),
.pendecias-veiculo-table td:nth-child(1),
.pendecias-veiculo-table th:nth-child(3),
.pendecias-veiculo-table td:nth-child(3),
.receita-despesa-table th,
.receita-despesa-table td,
.pendencia-negociacao-finalizacao-table th:nth-child(1),
.pendencia-negociacao-finalizacao-table td:nth-child(1),
.pendencia-negociacao-finalizacao-table th:nth-child(6),
.pendencia-negociacao-finalizacao-table td:nth-child(6) {
    width: 15%;
}

.col-20,
/* .contact-table th:nth-child(-n+2),
.contact-table td:nth-child(-n+2), */
.pendecias-veiculo-table th:nth-child(5),
.pendecias-veiculo-table td:nth-child(5),
.receita-despesa-table th:nth-child(4),
.receita-despesa-table td:nth-child(4),
.receita-despesa-conta-table th,
.receita-despesa-conta-table td {
    width: 20%;
}

.col-25,
.pendencia-negociacao-finalizacao-table th,
.pendencia-negociacao-finalizacao-table td {
    width: 25%;
}

.col-30,
.pendecias-veiculo-table th:nth-child(2),
.pendecias-veiculo-table td:nth-child(2),
.receita-despesa-table th:nth-child(3),
.receita-despesa-table td:nth-child(3),
.procuradores-table th:nth-child(2),
.procuradores-table td:nth-child(2) {
    width: 30%;
}

/* .ref-comerciais-pessoais-table th,
.ref-comerciais-pessoais-table td,  */
.col-35 {
    width: 35%;
}

.col-40 {
    width: 40%;
}

.col-45,
.cad-procurador-procuracao-table th,
.cad-procurador-procuracao-table td {
    width: 45%;
}

.col-50 {
    width: 50%;
}

.col-55

/* .dados-bancarios-table th:first-child,
.dados-bancarios-table td:first-child { */
    {
    width: 55%;
}

.col-60 {
    width: 60%;
}

.col-65,
.procuradores-table th:nth-child(1),
.procuradores-table td:nth-child(1) {
    width: 65%;
}

.col-70 {
    width: 70%;
}

.div-table-veiculo-negociacao {
    overflow-x: auto;
    max-height: calc(100% - 15px);
    padding-bottom: 2px;
}

.div-table-veiculo-negociacao::-webkit-scrollbar {
    height: 15px;
    /* Ajusta a altura do scrollbar horizontal */
}

.div-table-veiculo-negociacao::-webkit-scrollbar-thumb {
    background-color: var(--scroll-bg);
    border-radius: 5px;
}


.padding-15 {
    padding: 15px;
}

.margin-zero {
    margin: 0;
}

::-webkit-input-placeholder {
    color: var(--input-placeholder);
}

#quitacaoDisplay,
#agendamentoDispay {
    display: none;
}

.delete-btn-table-line {
    border: none;
    background: none;
    cursor: pointer;
    text-align: center;
}

#add_pendencia th {
    background-color: var(--table-sub-th-bg);
    border: 1px solid var(--table-sub-th-border);
}

.sublabel-valores-veiculos {
    font-size: 13px;
    color: var(--sublabel-font);
    font-weight: bold;
}

.div-container-search {
    /* height: 12.5%; */
    height: auto !important;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    /* Espaço entre os elementos horizontalmente */
    align-items: stretch;
    /* Alinha os elementos no final do eixo vertical */
    padding: 0 .5vw .5vw .5vw;
    /* Espaçamento interno */
}

.div-container-search.no-label {
    /* height: calc(12.5% - (16px * 1.1) - .5vw); */
    height: auto !important;
}

.consulta-dados {
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-items: center;
    gap: 10px;
}

.div-content-search .buttons-group {
    margin-left: auto;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* Garante tamanho fixo e ícone centralizado no botão */
.div-content-search .buttons-group>button {
    width: 5vh !important;
    height: 5vh !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Ajusta o <a> interno para não esticar além dos 40×40 */
.div-content-search .buttons-group>button a.btn-link {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* Ajusta o tamanho do ícone, se necessário */
.div-content-search .buttons-group>button i {
    font-size: 1.6rem;
}

.dropdown-wrapper {
    position: relative;
    display: inline-block;
    /* para ficar “ao lado” de outros botões, se houver */
}

.div-content-search {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    flex-basis: 100%;
    gap: 1%;
}

.div-input-search {
    display: flex;
    gap: 1%;
    flex-basis: 85%;
}

.div-content-search.movimentacoes {
    flex-basis: 95%;
}

.div-content-search.movimentacoes .div-input-search {
    flex-basis: 90%;
}

.div-content-search.movimentacoes .outros-btn-pesquisa {
    flex-basis: 10%;
}

.input-pesquisa {
    flex-grow: 1;
    max-width: 100%;
    padding: .5rem;
    font-size: 1rem;
}

.div-exibir {
    height: 5vh;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-basis: 30%;
    border: 1px solid var(--div-border);
    border-radius: 4px;
}

.div-exibir:hover {
    border: 1px solid var(--div-border-hover);
}

.div-exibir .div-exibir-itens {
    height: 100%;
    display: flex;
    align-items: center;
}

.div-exibir .div-exibir-itens:has(.alinhando-checkbox) {
    width: 45%;
    justify-content: space-between;
}

.div-label-two-inputs {
    flex-basis: 40%;
    text-align: center;
}

.div-label-two-inputs .div-two-inputs {
    display: flex;
    gap: 3%;
}

.div-container-btn-new,
.outros-btn-pesquisa {
    display: flex;
    align-items: flex-end;
}

.div-container-btn-new {
    flex-basis: 10%;
    justify-content: flex-end;
    align-content: center;
}

.outros-btn-pesquisa {
    gap: 5%;
    flex-basis: 15%;
}

.btn-cancel-register,
.btn-filtro,
.btn-new-register {
    width: calc(5vh);
    height: 5vh;
    font-size: 1.5rem;
    /* Tamanho do ícone */
}

.btn-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;

}

/* .botao-direita {
    flex-basis: 10%;
    display: flex;
    align-items: flex-end;

    text-align: right;
    position: relative;
}
.btn-pesquisa-container {
    display: flex;
    width: 100%;
    position: relative;
    padding: 1vw;
} */

label.required-input::after {
    content: " *";
    color: var(--required-label-font);
    font-weight: bold;
}

label.inicial-text::after {
    content: "Inicial";
    color: var(--sublabel-font);
    font-weight: bold;
}

/* Quando is-loading estiver ativo, a lupa desaparece */
.search-placa-container i.is-loading::before {
    visibility: hidden;
    /* esconde visualmente */
}

/* Botão em loading */
.sign-up.is-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.9;
}

.search-placa-container i.is-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1em;
    height: 1em;
    margin: -0.5em 0 0 -0.5em;
    border-radius: 50%;
    border: 3px solid currentColor;
    border-top-color: transparent;
    animation: spin 0.8s linear infinite;
}

.search-placa-container i.is-loading {
    pointer-events: none;
    opacity: 0.6;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


.password-container,
.search-placa-container,
.search-cnpj-container {
    width: 100%;
    display: flex;
    position: relative;
}

.password-container input,
.search-placa-container input,
.search-cnpj-container input {
    padding: 6px 42px 6px 6px;
}

.search-placa-container i,
.search-cnpj-container i {
    font-size: 26px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    padding: 6px;
    color: var(--input-icon-font);
}

.search-placa-container i:hover,
.search-cnpj-container i:hover {
    color: var(--input-icon-font-hover);
}

.no-result-menssage {
    display: none;
    text-align: center;
    background-color: var(--table-container-bg);
    border: 1px solid var(--table-border);
    border-top: none;
    padding: 10px;
    font-size: 18px;
}

.div-veiculo-negociacao {
    position: relative;
    padding: .5vw;
    width: 100%;
}

.div-veiculo-negociacao .flex-container button {
    width: 4vw;
    height: 5vh;
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}

.veiculos-negociacao {
    display: flex;
    flex-direction: column;
}

.veiculos-negociacao h3 {
    margin-bottom: 0;
}

.veiculos-negociacao hr {
    margin: 1vw 0;
}

.definitive-table .children-table {
    padding-left: 2vw;
}

.content-wrapper {
    display: flex;
    justify-content: space-between;
    /* Texto à esquerda e ícone à direita */
    align-items: center;
    /* Centraliza verticalmente */
    width: 100%;
}

/* Ícone interativo */
.toggle-icon {
    cursor: pointer;
    transition: transform 0.2s ease;
    /* Animação suave ao girar */
    font-size: 1.5rem;
    /* Ajuste do tamanho */
}

.veiculos-negociacao .content-docs {
    padding-top: 0;
}

.content-docs {
    padding-top: 1vw;
    display: flex;
    flex-direction: row;
    width: 100%;
    flex-wrap: wrap;

    & .checkbox {
        padding: .5vw;
        display: flex;
        align-items: center;
        gap: 5px;
    }

    & .add-button {
        padding: .5vw;
        display: flex;
        align-items: flex-end;
        justify-content: flex-end;
    }
}

.valor-cell.valor-pagar {
    color: var(--font-red);
}

.div-for-cards {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1em .5em .5em .5em;
    gap: 1em;
}

.card-tipo-financiamento {
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: var(--card-bg);
    background-clip: border-box;
    border: 1px solid var(--card-shadow);
    border-radius: 0.25rem;
    width: calc(50% - .5em);
    /* Cada card ocupa 50% do contêiner */
    box-shadow: 0 0.125rem 0.25rem var(--card-shadow);
}

.card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: var(--card-header-bg);
    border-bottom: 1px solid var(--card-border);
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    font-size: 1.30rem;
    font-weight: 600;
    color: var(--card-header-font);
}

.card-title {
    font-size: 1.5rem;
    margin-bottom: .5rem;
    font-weight: 500;
    color: var(--card-title-font);
}

.card-text {
    margin-top: 0;
    margin-bottom: .5rem;
    color: var(--card-font);
    font-size: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.card-text-columns {
    column-count: 2;
    /* Divide o conteúdo em duas colunas */
    column-gap: 1.25rem;
    /* Espaço entre as colunas */
}


.btn-footer {
    background-color: var(--btn-verde-bg);
    color: var(--btn-font);
    padding: 0.375rem;
    font-size: 1.625rem;
    border-radius: 0.25rem;
    border: none;
    cursor: pointer;
}

.btn-footer:hover {
    background-color: var(--btn-verde-hover);
}

#id-valor-parcela-balao-venda,
#id-valor-parcela-balao-financiamento {
    display: none;
}

#toggle-opcionais-btn {
    position: absolute;
    right: 0;
    /* Alinha ao início do eixo X */
    top: 50%;
    transform: translateY(-50%);
    /* Centraliza no eixo Y */
}

.expand {
    /*display: none; /* Começa oculto */
    transition: max-height 0.3s ease-in-out;
    max-height: 0;
    overflow: hidden;
}

.expand.active {
    /*display: block; /* Mostra quando ativo */
    max-height: none;
    /* ou auto, se você preferir */
    overflow: visible;
}

.new-car-btn-modal {
    position: relative;
    background-color: var(--add-link-bg);
    color: var(--add-link-font);
}

.small-icon {
    font-size: 13px;
    position: absolute;
    top: 10%;
    right: 15%;
    background-color: var(--add-link-bg);
    border-radius: 60%;
    transition: all .4s ease;
}

.new-car-btn-modal:hover .small-icon {
    background-color: var(--add-link-hover);
}

.new-car-btn-modal:hover {
    background-color: var(--add-link-hover) !important;
    color: var(--add-link-font) !important;
}

.btn-save-edit,
.btn-cancel-edit {
    width: calc(5vh);
    height: 5vh;
    font-size: 1.9rem;
    color: var(--btn-font);
    transition: all .4s ease;
}

.btn-cancel-edit {
    background-color: var(--btn-red-bg);
}

.btn-cancel-edit:hover {
    background-color: var(--btn-red-hover);
}

.btn-save-edit {
    background-color: var(--btn-verde-bg);
}

.btn-save-edit:hover {
    background-color: var(--btn-verde-hover);
}

.sublabel {
    font-size: 14px;
    color: VAR(--sublabel-font);
}

.grafico-fipe-wrapper {
    max-width: 80vw;
    max-height: 50vh;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* .close-notification:hover {
    transform: scale(1.3);
    opacity: 0.33;
} */


/* .input-error,
.campo-vazio {
    outline: 2px solid var(--input-error-outline) !important;
    background-color: var(--input-error-bg) !important;
    transition: background-color 0.3s;
    color: var(--input-error-font) !important;
    font-weight: bold;
} */

/* ------------------- CSS EXCLUSIVO PARA TABELA DE CONSULTA CONTA FINANCEIRA -------------------*/

.icons-container {
    display: flex;
    justify-content: space-between;
    font-size: 1.4rem;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    padding: 8px;
    border-radius: 6px;
    transition: transform 0.2s, background-color 0.2s, color 0.2s, outline 0.2s;
}

/* Hover no editar */
.icons-container i.bxs-edit-alt:hover {
    background-color: var(--btn-verde-hover);
    color: #fff;
    transform: scale(1.6);
    /* aumenta icon */
    border-radius: 2px;
}

/* Hover no excluir */
.icons-container i.bxs-trash:hover {
    background-color: var(--btn-red-hover);
    color: #fff;
    transform: scale(1.6);
    border-radius: 2px;
}

.icons-container i {
    font-size: 16px;
    cursor: pointer;
}

/* .bxs-star { // antigo
    color: #ffc107;
} */

.bxs-star,
.bx-star {
    color: #f1c40f;
    padding: 4px;
    transition: transform 0.2s ease, color 0.2s ease;
    position: relative;      
    display: inline-block;  
}

.bxs-star::after,
.bx-star::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 24px;
    height: 8px;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 50%;
    filter: blur(4px);
    opacity: 0;
    transform: translateX(-50%) scale(0.8);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.bxs-star:hover,
.bx-star:hover {
    color: #ffd700;
    transform: translateY(-4px) scale(1.15);
}

.bxs-star:hover::after,
.bx-star:hover::after {
    opacity: 1;
    transform: translateX(-50%) scale(1);   
}

.bxs-star.bx-tada::after,
.bx-star.bx-tada::after {
    opacity: 0;
}

.bxs-edit-alt {
    color: var(--btn-verde-bg);
}

.parent-row td {
    font-weight: bold;
}

/* ------------ NOTIFICAÇÃO ---------------*/

.pending-delete td {
    background-color: var(--td-pending-delete);
}

/* ------------ ICONES -------------------*/

.bxs-trash:hover {
    transform: scale(1.3);
    padding: 3px;
    background-color: var(--td-pending-delete-hover);
    border-radius: 3px;
}

/* centraliza a coluna da lixeira */
/* tbody tr td:last-child {
    text-align: center; 
} */

/* e garante que o <i> fique bem no meio */
.trash-icon-class {
    display: inline-block;
    margin: 0 auto;
}

.trash-cell {
    text-align: center;
}

/* ------------ TABS CONTAINER -------------------*/

.tabs-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7vw;
    margin-top: 0;
    margin-bottom: 0vh;
}

.tab-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: var(--r-md);
    border: 1px solid var(--c-line);
    background: var(--c-bg);
    color: #111827;
    font-size: var(--fs-sm);
    font-weight: var(--fw-normal);
    cursor: pointer;
    user-select: none;
}

.tab-link:hover {
    background: var(--c-primary);
    color: #fff;
    border-color: var(--c-primary);
}

.tab-link.active {
    background: var(--c-primary);
    border-color: var(--c-primary);
    color: #fff;
}

.tab-content {
    display: none;
}

.tab-content.active {
    width: 100%;
    display: block;
}

.tab-link-modal.error,
.tab-link.error {
    outline: 2px solid var(--tab-link-outline-error) !important;
    background-color: var(--tab-link-bg-error);
    color: var(--tab-link-font);
}

.tabs-container-modal {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2vw;
    margin-bottom: 0vh;
}

.tab-link-modal {
    background-color: var(--tab-link-bg);
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
}

.tab-link.error.active,
.tab-link-modal.active {
    background-color: var(--c-primary);
    color: var(--tab-link-font-active);
}

.tab-content-modal {
    display: none;
}

.tab-content-modal.active {
    width: 100%;
    display: block;
}

/*----------- FORMATAÇÃO QUANDO UMA LINHA DA TABELA É SELECIONADA --------- */

tr.selected-row,
tr.selected-row td {
    background-color: var(--td-pending-delete) !important;
}

/* -------------- FORMATAÇÃO DO CONTAINER DE CONFIRMAÇÃO DA EXCLUSAO ------------- */

/* .confirm-choice {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    width: 40vw;
    border-radius: 8px;
    z-index: 10000;
    background: transparent;
    box-shadow: none;
    padding: 0;
} */


/* .div-notification.confirm-choice .actions-notification {
    display: flex;
    justify-content: end;
    gap: 0.5rem;
    margin-top: 1rem;
} */

/* -------------- FORMATAÇÃO DO TABLE QUANDO ESTA NO MODELO DISABLED ------------- */

.disabled-table {
    opacity: 0.5;
    pointer-events: none;
    /* opcional: cursor diferente */
    cursor: not-allowed;
}


#pf-fields,
#pj-fields,
#pf-fields-modal,
#pj-fields-modal {
    display: flex;
    flex-wrap: wrap;
}

#cadastro-compra-documentos-form .checkbox,
#cadastro-venda-documentos-form .checkbox {
    display: flex;
    align-items: center;
}

.grupos-vertical {
    display: flex;
    flex-direction: column;
    /* empilha os itens */
    align-items: flex-start;
    /* alinha à esquerda */
    gap: 6px;
    /* espaçamento entre linhas */
    max-height: 220px;
    /* opcional: limita altura */
    overflow: auto;
    /* opcional: rolagem se passar */
}

.grupos-vertical .check-with-label {
    display: flex;
    align-items: center;
    gap: 8px;
    /* espaço entre checkbox e texto */
    margin: 0;
    /* remove margens laterais antigas */
}


/* ---------------- REFERENTE A ESTILIZAÇÃO ANTIGA DOS MODAIS --------------------*/

.modal {
    display: none;
    /* Escondido por padrão */
    position: fixed;
    z-index: 2147483000 !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: var(--modal-bg);
    justify-content: center;
    align-items: center;
    animation: fadeIn 0.3s;
}

.phone-input::placeholder {
    font-family: Arial, sans-serif;
}

.div-modal input::placeholder {
    color: var(--input-placeholder);
}

.modal-content {
    background-color: var(--modal-content-bg);
    width: 80%;
    max-width: 700px;
    box-shadow: 0 5px 15px var(--modal-content-shadow);
    animation: fadeIn 0.6s;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 1000 !important;
}

.modal-content-documento {
    background-color: var(--modal-content-bg);
    width: 80%;
    box-shadow: 0 5px 15px var(--modal-content-shadow);
    animation: fadeIn 0.6s;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 90%;
    z-index: 1000 !important;
}


.modal-content-pesquisa {
    max-width: 1200px;
}

.header-modal {
    background-color: var(--modal-header);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1vw;
    color: var(--modal-header-font);
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.header-modal h3 {
    margin: 0;
}

.header-modal .closeBtn {
    color: var(--modal-header-font);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: .5vw;
    font-size: 32px;
    font-weight: bold;
    cursor: pointer;
}

.header-modal .closeBtn:hover {
    color: var(--modal-header-font-hover);
    cursor: pointer;
}

.form-popup {
    padding: .5vw;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.dropdown-modal {
    display: inline-block !important;
}

.div-buttons-modal {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: .5vw;
}

.div-modal {
    flex-direction: column;
    justify-content: center;
    display: flex;
    padding: 0.5vw;
    position: relative;
}

.div-modal,
.div-modal.flex-basis-100 {
    width: 100%;
}

.div-checkbox-modal {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
}

.center-checkbox-modal {
    align-items: center;
}

.div-checkbox-modal label:hover {
    cursor: pointer;
}

.label-popup {
    font-size: 16px;
    font-weight: 500;
    color: var(--sublabel-font);
    font-family: 'Quattrocento Sans';
    margin: 0;
}

.div-ativo-modal {
    display: flex;
    flex-basis: 100%;
    flex-direction: row;
    padding: 0.5vw;
    align-items: flex-end;
    justify-content: flex-start !important;
}

.div-ativo-modal label:hover {
    cursor: pointer;
}

.input-popup,
.select-popup,
.phone-input {
    width: 100%;
    padding: 6px;
    box-sizing: border-box;
    border: 1px solid var(--input-border);
    border-radius: 4px;
    font-size: 14px;
}

.btn-popup,
.submit-popup {
    padding: 15px 20px;
    font-size: 16px;
    cursor: pointer;
}

.submit-popup {
    background-color: var(--btn-verde-bg);
    color: var(--btn-font);
    border: none;
}

.submit-popup:hover {
    background-color: var(--btn-verde-hover);
}

.btn-popup {
    background-color: var(--btn-red-bg);
    color: var(--btn-font);
    border: none;
}

.btn-popup:hover {
    background-color: var(--btn-red-hover);
}

#closeModalBtn {
    background-color: var(--btn-padrao-bg);
    color: var(--btn-font);
    border: none;
}

#closeModalBtn:hover {
    background-color: var(--btn-padrao-bg-hover);
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* .dropdown-pesquisa{
    position: relative;
    display: inline-block;
} */
/* .dropdown-select-boxs{
    position: relative;
    display: inline-block;
    width: 100%;
} */

.select-box {
    width: 100%;
    background: var(--select-box-bg);
    border: 1px solid var(--select-box-border);
    border-radius: 4px;
    color: var(--select-box-font);
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    box-sizing: border-box;
}

.select-options {
    position: absolute;
    left: 0;
    width: calc(100% - 1vw);
    left: .5vw;
    /* margin-left: 1%; */
    max-height: 175px;
    overflow-y: auto;
    background: var(--select-box-bg);
    border: 1px solid var(--select-box-border);
    border-radius: 4px;
    display: none;
    z-index: 1;
    box-sizing: border-box;
    box-shadow: 0 2px 10px var(--select-box-shadow);
}

.select-options ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.select-all-checkbox {
    flex-grow: 0;
    display: flex;
    align-items: center;
}

.select-options li {
    margin: 0;
    cursor: pointer;
    transition: background-color 0.3s;
    border-radius: 4px;
    box-sizing: border-box;
}

.select-options li:hover {
    background-color: var(--select-box-bg-hover);
}

.select-options li label {
    display: flex;
    align-items: center;
    width: -webkit-fill-available;
    cursor: pointer;
    padding: 10px;
}

.text-display {
    width: 100%;
    height: 5vh;
    display: flex;
    align-items: center;
    padding: 6px;
    font-size: 14px;
}

.selected-option {
    width: auto;
    height: 5vh;
    display: flex;
    flex-direction: row;
    padding: 4px;
    font-size: 14px;
}

.selected-text {
    display: flex;
    align-items: center;
    padding: 5px;
    border-radius: 4px;
    background-color: var(--select-box-text);
    color: var(--select-box-text-font);
    font-weight: normal;
    font-size: 14px;
}

li label input[type="checkbox"],
.separator label input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    cursor: pointer;
}

.close-dropdown {
    cursor: pointer;
    color: var(--font-red);
    font-weight: bold;
    font-size: 20px;
    margin-left: 10px;
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    border-radius: 6px;
    background-color: var(--dropdown-content-bg);
    transition: background-color 0.3s;
}

.close-dropdown:hover {
    background-color: var(--dropdown-content-bg-hover);
}

.highlight {
    background-color: var(--highlight-bg);
}

.separator {
    border-bottom: 1px solid var(--select-box-border);
    background-color: var(--dropdown-content-bg);
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* 
.thumbnail-image:hover {
    box-shadow: 0px 4px 8px var(--modal-content-shadow); 
    cursor: pointer; 
} */

.modal-content-100 {
    background-color: var(--modal-content-bg);
    width: 100%;
    /* height: 98%; */
    max-width: 1200px;
    box-shadow: 0 5px 15px var(--modal-content-shadow);
    animation: fadeIn 0.6s;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#placa_veiculo {
    text-transform: uppercase;
}

/* -------------------------- Adicionado por Gui 06/10/25 */

/* ===== Dropdown PDF Menu (fundo branco + hover cinza claro) ===== */
.dropdown-pdf-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 99999;
    /* acima de qualquer card */

    min-width: 240px;
    background: #ffffff;
    /* fundo branco padrão */
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    overflow: hidden;
    padding: 6px 0;

    animation: dropdownFade 0.15s ease-out;
}

/* Links do dropdown */
.dropdown-pdf-menu a {
    display: block;
    padding: 10px 14px;
    font-size: 0.95rem;
    color: #2c2f36;
    /* texto escuro */
    text-decoration: none;
    transition: all 0.15s ease;
    position: relative;
}

/* Hover */
.dropdown-pdf-menu a:hover {
    background: #f2f3f5;
    /* cinza bem clarinho */
    color: #111;
    padding-left: 18px;
}

.dropdown-pdf-menu a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

/* Animação de entrada */
@keyframes dropdownFade {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* .posicao-relativa {
  position: relative;
}

.icon-inside-input {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--text-muted, #555);
  font-size: 1.2rem;
}

.icon-inside-input:hover {
  color: var(--primary-color, #007bff);
}

.div-input input[type="text"] {
  width: 100%;
  padding-right: 2rem; 
} */


.kpi-vendas .kpi-value,
.kpi-vendas .kpi-icon {
    color: var(--kpi-vendas) !important;
}

.kpi-compras .kpi-value,
.kpi-compras .kpi-icon {
    color: var(--kpi-compras);
}

.kpi-consignados .kpi-value,
.kpi-consignados .kpi-icon {
    color: var(--kpi-consignados);
}

.kpi-andamento .kpi-value,
.kpi-andamento .kpi-icon {
    color: var(--kpi-andamento);
}

.kpi-fechadas .kpi-value,
.kpi-fechadas .kpi-icon {
    color: var(--kpi-fechadas);
}

.kpi-total .kpi-value,
.kpi-total .kpi-icon {
    color: var(--kpi-total);
}

.kpi-valor .kpi-value,
.kpi-valor .kpi-icon {
    color: var(--kpi-valor);
}